Data communication networks use flow control to regulate the flow of data and reduce congestion at various points within a network. Flow control is used between nodes in a network by sending messages across a transmission medium indicating when a data packet is ready to be received. Flow control is also used between devices in a network by providing signals on control lines to indicate device status. Flow control between network devices typically includes monitoring the state of a data buffer to prevent overflow or underflow of the data buffer.